专利摘要:
Eine Aufgabe der vorliegenden Erfindung ist es, eine mehrschichtige Anwendungsarchitektur zu schaffen, die rasch auf Objekte zugreift und eine Betriebssicherungsfunktion gegen einen Absturz der Applikationsschicht aufweist. Eine Grundstruktur vermittelt zwischen einer Anwendung und einer Applikationsschicht und erlaubt der Applikationsschicht, ein durch die Anwendung aus einem Cache-Speicher abgeholtes Objekt auszuführen. Wenn ein Objekt veraltet, aktualisiert die Grundstruktur innerhalb einer beschränkten Anzahl von Versuchen wiederholt das Objekt. Wenn die Aktualisierung gelingt, gibt die Grundstruktur das Objekt an den Cache-Speicher zurück und erlaubt der Applikationsschicht wieder, das Objekt auszuführen. Wenn die Aktualisierung nicht innerhalb der spezifizierten Anzahl von Versuchen gelingt, beendet die Grundstruktur die Anwendung in einem betriebssicheren Zustand.
公开号:DE102004013086A1
申请号:DE200410013086
申请日:2004-03-17
公开日:2004-09-30
发明作者:Aavishkar Bangalore Bharbara
申请人:GE Medical Systems Global Technology Co LLC;
IPC主号:G06F11-30
专利说明:
[0001] Die Erfindung betrifft eine mehrschichtige Anwendungsarchitektur.Insbesondere betrifft die vorliegende Erfindung eine mehrschichtigeAnwendungsarchitektur mit Applikationsschichten, z.B. einem Anwendungsserverund einem Webserver.
[0002] In der mehrschichtigen Anwendungsarchitekturwird fürAnwendungen eine Businesslogik in einer Applikationsschicht ausgeführt. EineAnwendung spezifiziert die Businesslogik als ein Objekt in der Applikationsschicht.Die Applikationsschicht führtdas spezifizierte Objekt aus (siehe z.B. die nicht patentiertenDokumente 1 und 2). Um auf Objekte in der Applikationsschicht zuzugreifenwird ein Servicelokalisierer verwendet (siehe z.B. das nicht patentierte Dokument3).
[0003] Gould, Steven. "Develop n-tier applications using J2EE", Fig. 22, 2002,JavaWorld.com, Java World, S. 3/10. Das Schriftstück wurdeaus der folgenden Internetseite am 23. Januar 2003 online ausgelesen: URL:http://www.javaworld.com/javaworld/jw-12-2000/jw-1201/weblogic_p.html
[0004] Baldwin, Richard G. "A Middle-Tier Serer" in "Enterprise JavaBeans:Middle-Tier Servers and J2EE",2002, Jupitermedia Corporation, a search result for "developer.com + GAMELAN", S. 4/12-5/12 ff. DasSchriftstückwurde aus der folgenden Internetseite am 11. Dezember 2002 onlineausgelesen. URL:http://www.developer.com/java/other/article.php/641331
[0005] "Solution" in "Sun Java Center J2EEPatterns Service Locator",2002, Sun Microsystems, Inc., Java Technology Home Page, pp. 3/12-6/12. DasSchriftstückwurde aus der folgenden Internetseite am 24. Dezember 2002 onlineausgelesen. URL:file://C:WINDOWSTEMPTD_0024.DIRSun%20Java%20Center%2 0-%30Service%20Locator%20J2EE%30Patterns.htm
[0006] Gemäß der oben erwähnten mehrschichtigenAnwendungsarchitektur nutzt ein Zugriff von Objekten in der Applikationsschichtden Servicelokalisierer, was den Betrieb einer Anwendung verlangsamt.
[0007] Wenn die Applikationsschicht abstürzt, veraltetoder verwaist ein Objekt, was zu einem Hängenbleiben der Anwendung führt. Esist jedoch kein Betriebssicherungsmechanismus vorhanden, um einen solchenFall zu verhindern. Ein Hängenbleibeneiner Anwendung kann sekundäreAnomalien hervorrufen, beispielsweise Beeinträchtigungen anderen Anwendungen.
[0008] Es ist daher eine Aufgabe der vorliegenden Erfindung,eine mehrschichtige Anwendungsarchitektur zu schaffen, in der einZugreifen auf Objekte rasch erfolgt und eine Betriebssicherungsfunktion gegeneinen Absturz der Applikationsschicht vorgesehen ist. In dieserBeschreibung bezeichnet der Begriff Architektur eine Rechnerprogrammarchitektur.
[0009] Um das oben erwähnte Problem zu lösen, schafftdie vorliegende Erfindung eine mehrschichtige Anwendungsarchitekturmit einer Applikationsschicht, die aufweist: eine Grundstruktur,die dazu dient, zwischen einer Anwendung und einer Applikationsschichtzu vermitteln, wobei die Grundstruktur einer Applikationsschichterlaubt, ein durch eine Anwendung aus einem Cache-Speicher geholtesObjekt auszuführen;wenn ein Objekt veraltet, aktualisiert die Grundstruktur das Objektwiederholt innerhalb einer beschränkten Anzahl von Versuchen; wenneine Aktualisierung des Objekts gelingt, gibt die Grundstrukturdas Objekt an den Cache-Speicher zurück und erlaubt der Applikationsschichtwieder, das Objekt auszuführen;und, wenn eine Aktualisierung des Objekts innerhalb einer beschränkten Anzahl vonVersuchen nicht gelingt, beendet die Grundstruktur eine Anwendungbetriebssicher.
[0010] Erfindungsgemäß vermittelt eine Grundstrukturzwischen einer Anwendung und einer Applikationsschicht und erlaubt derApplikationsschicht, ein durch die Anwendung aus einem Cache-Speicher geholtesObjekt auszuführen.Wenn ein Objekt veraltet, aktualisiert die Grundstruktur das Objektwiederholt innerhalb einer beschränkten Anzahl von Versuchen.Wenn die Aktualisierung gelingt, gibt die Grundstruktur das Objektan den Cache-Speicher zurückund erlaubt der Applikationsschicht wieder, das Objekt auszuführen. Wenndie Aktualisierung nicht innerhalb der spezifizierten Anzahl vonVersuchen gelingt, beendet die Grundstruktur die Anwendung in einembetriebssicheren Zustand. Dementsprechend ist es möglich, einemehrschichtige Anwendungsarchitektur zu schaffen, die auf Objekterasch zugreift und eine Betriebssicherungsfunktion gegen den Absturzder Applikationsschicht aufweist.
[0011] Es ist wünschenswert, einem Benutzerzu ermöglichendie beschränkteAnzahl von Versuchen zu spezifizieren, um in der Lage zu sein, diebeschränkteAnzahl von Versuchen den Bedürfnissenanzupassen. Es ist zweckmäßig, einemBenutzer zu ermöglichen,das Zeitintervall zu spezifizieren, um in der Lage zu sein, dasZeitintervall den Bedürfnissenanzupassen. Es ist zweckmäßig, Arbeitsschritteder Grundstruktur einem Benutzer sichtbar anzuzeigen, so dass demBenutzer ohne weiteres ein Einblick in Betriebszustände möglich ist.
[0012] Von dem Standpunkt einer Automatisierung derWiederherstellung ist es zweckmäßig, ein Überwachungsmittelvorzusehen, um den normalen Ablauf wiederaufzunehmen, wenn die Applikationsschichtabstürzt.Von dem Standpunkt einer auf einem Überwachungsmittel basierendenWiederherstellung aus einem Absturz heraus ist es zweckmäßig, dassdas Überwachungs mitteleine Applikationsschicht basierend auf einem Ergebnis einer periodischenAbfrage wiederherstellt. Von dem Standpunkt einer auf der GrundstrukturbegründetenWiederherstellung nach einem Absturz ist es zweckmäßig, dass das Überwachungsmitteleine Applikationsschicht basierend auf einer Meldung der Grundstrukturwiederherstellt.
[0013] Folglich ermöglicht es die vorliegende Erfindungeine mehrschichtige Anwendungsarchitektur zu schaffen, in der Zugriffeauf Objekte rasch erfolgen und die Betriebssicherungsfunktion gegeneinen Absturz der Applikationsschicht vorgesehen ist.
[0014] Weitere Aufgaben und Vorteile dervorliegenden Erfindung werden nach dem Lesen der nachfolgenden Beschreibungder anhand der beigefügten Zeichnungenveranschaulichten bevorzugten Ausführungsbeispiele der Erfindungverständlich.
[0015] 1 zeigtin einem Blockschaltbild eine Konfiguration eines Ausführungsbeispielsgemäß der vorliegendenErfindung.
[0016] 2 zeigtin einem Blockschaltbild eine Konfiguration einer Präsentationsschichtgemäß dem Ausführungsbeispielder vorliegenden Erfindung näherim Einzelnen.
[0017] 3 zeigtein weiteres Blockdiagramm, das die Konfiguration der Präsentationsschichtgemäß dem Ausführungsbeispielder vorliegenden Erfindung detaillierter darstellt.
[0018] 4 zeigtnoch ein weiteres Blockdiagramm, das die Konfiguration der Präsentationsschichtgemäß dem Ausführungsbeispielder vorliegenden Erfindung detaillierter veranschaulicht.
[0019] Im folgenden werden Ausführungsbeispiele dervorliegenden Erfindung anhand der beigefügten Zeichnungen eingehenderbeschrieben. 1 zeigt ineinem Blockschaltbild eine Konfiguration der mehrschichtigen Anwendungsarchitektur.Diese Architektur stellt ein Beispiel der Ausführungsformen gemäß der vorliegendenErfindung dar. Die Konfiguration dieser Architektur veranschaulichtbeispielhaft ein Ausführungsbeispielder mehrschichtigen Anwendungsarchitektur gemäß der vorliegenden Erfindung.
[0020] Wie in 1 gezeigt,weist die Architektur eine Präsentationsschicht 2,eine Applikationsschicht 4 und eine Datenzugriffsschicht 6 auf.
[0021] Die Präsentationsschicht ist gleichbedeutendmit einem Client. Die Applikationsschicht 4 ist gleichbedeutendmit einem Anwendungsserver. Die Datenzugriffsschicht ist gleichbedeutendmit einem EIS (Unternehmensinformationsdienst), beispielsweise einemDatenbankserver. Es kann eine weitere Applikationsschicht vorgesehensein, beispielsweise ein Webserver zwischen der Präsentationsschicht 2 undder Applikationsschicht 4.
[0022] Die Präsentationsschicht 2 enthält eineAnwendung,' dieRessourcen verwendet, beispielsweise eine Datenbank der Datenzugriffsschicht 6.Die Applikationsschicht 4 wartet die Ausführung einer Businesslogik,die von der Anwendung benötigtwird.
[0023] Die Präsentationsschicht 2 fordertdie Applikationsschicht 4 auf, die Businesslogik auszuführen. DieseAufforderung wird als ein Objekt ausgegeben. Das Objekt wird über eineGrundstruktur 22 in der Präsentationsschicht 2 andie Applikationsschicht 4 geliefert.
[0024] 2 zeigteine Konfiguration eines hauptsächlichenAbschnitts der Präsentationsschicht 2,die die Grundstruktur 22 zusammen mit der Applikationsschicht 4 undder Datenzugriffsschicht 6 enthält. Wie in 2 gezeigt, weist die Präsentationsschicht 2 eineAnwendung 202 und einen Cache-Speicher 204 auf.
[0025] Der Cache-Speicher 204 speichertsämtliche oderdie hauptsächlichenObjekte, die die Anwendung 202 verwendet. Die Objekte werdenals Fernbezügegespeichert.
[0026] Da der Cache-Speicher 204 dieFernbezüge zusämtlichenoder den hauptsächlichenObjekten speichert, die die Anwendung 202 verwendet, wird für eine Fernbezugsabfragedie Verwendung eines lokalen Bezugs nicht benötigt. Dies beschleunigt die Ablaufder Anwendung.
[0027] Die Grundstruktur 22 weisteinen Logikhandler 222, einen Detektor 224, eineAktualisierungseinrichtung 226 und ein Austiegsmittel 228 auf.
[0028] Die Anwendung 202 holt eineinzelnes Objekt aus dem Cache-Speicher 204 und liefertes dem Logikhandler 222. Der Logikhandler 222 verwendet dasObjekt, um eine entsprechende Businesslogik für die Applikationsschicht 4 aufzurufen.
[0029] Die Applikationsschicht 4 führt dieBusinesslogik aus. Der Detektor 224 erfasst einen Ausführungszustandund ein Ausführungsergebnisder Businesslogik. Dem Logikhandler 222 wird gemeldet,ob die Businesslogik erfolgreich war oder fehlschlug. Der Erfolgszustandwird auch der Anwendung 202 mitgeteilt.
[0030] wenn die Ausführung der Businesslogik erfolgreichwar, gibt der Logikhandler 222 das ausgeführte Objektan den Cache-Speicher zurück.Die Anwendung 202 holt ein neues Objekt aus dem Cache-Speicher 204 undliefert es dem Logikhandler 222. Solange die Ausführung derBusinesslogik erfolgreich ist, wird das oben erwähnte Verfahren wiederholt.
[0031] Wenn die Ausführung der Businesslogik fehlschlägt, veraltetdas Objekt. In diesem Falle erlaubt der Logikhandler 222 derAktualisierungseinrichtung 226 das veraltete Objekt zuaktualisieren. Die Aktualisierung wird wie folgt ausgeführt.
[0032] Die Aktualisierungseinrichtung 226 erlaubt derApplikationsschicht 4 mittels des lokalen Bezugs des Objektseinen Fernbezug abzufragen.
[0033] Wenn die Abfrage erfolgreich ist,gibt die Applikationsschicht 4 den Fernbezug an die Aktualisierungseinrichtung 226 zurück. Dieseaktualisiert das veraltete Objekt. Der Lo gikhandler 222 gibtdas aktualisierte Objekt an den Cache-Speicher 204 zurück und ruftdas Objekt von neuem auf. Auf diese Weise kann das veraltete Objektwiederhergestellt werden.
[0034] Wenn die Abfrage fehlschlägt, wirdkein Fernbezug zurückgegeben.Die Abfrage wird dementsprechend nochmals versucht. Solange dieAbfrage erfolglos ist, wird diese nochmals versucht. D. h. die Aktualisierungwird mehr als einmal versucht. Diese verbessert die Erfolgsrateeiner Aktualisierung von Objekten.
[0035] Eine obere Grenze für die Anzahlvon Wiederholungen und ein Zeitintervall für die Wiederholung werden imVoraus bestimmt. Es ist wünschenswert,einem Benutzer eine Spezifizierung der Anzahl von Wiederholungenund des Zeitintervalls zu ermöglichen,um eine Anpassung an die Bedürfnisse zuzulassen.
[0036] Sogar falls die Anzahl von Wiederholungen dieobere Grenze erreicht, ist die Aktualisierung möglicherweise nicht gelungen.Der Logikhandler 222 ermöglicht dem Austiegsmittel 226 ineinem solchen Fall, einen betriebssicheren Vorgang auszuführen. DasAusstiegsprozedur 226 gibt vielfältige für die Anwendung 202 unddergleichen bestimmte Ressourcen frei, um die Anwendung 202 betriebssicherzu beenden. Die Betriebssicherungsprozedur ermöglicht es, die Anwendung 202 danachreibungslos neu zu starten. Darüberhinaus ist es möglich,Beeinträchtigungenanderer Anwendungen, die die Ressourcen gemeinsam benutzen, zu verhindern.
[0037] Diese Grundstruktur 22 istinsbesondere geeignete fürInstanz-Beans und Beans einer zustandslosen Sitzung.
[0038] Ein Benutzer ist in der Lage, Betriebszustände derGrundstruktur zu identifizieren. Ein geeignetes GUI (graphischeBenutzerschnittstelle) und dergleichen kann für diesen Zweck verwendet werden.Eine solche Einrichtung ermöglichtes dem Benutzer, ohne weiteres Einblick in Betriebszustände zu erhalten. Aufdiese Einrichtung kann verzichtet werden, falls diese nicht benötigt wird.
[0039] Die Businesslogik in der Applikationsschicht 4 schlägt fehl,wenn die Applikationsschicht abstürzt oder dergleichen. Die Verwendungder Applikationsschicht 4 lässt sich verbessern, indemeine automatische Wiederherstellen nach einem aufgetretenen Absturzermöglichtwird. Es wird möglich,Anwendungen effizient auszuführen.
[0040] Wie in 3 gezeigt,wird ein Überwachungsmittel 402 verwendet,um die abgestürzteApplikationsschicht 4 automatisch wiederherzustellen. Das Überwachungsmittel 402 führt periodischeine Abfrage durch, ob die Applikationsschicht 4 abstürzt odernicht. Das Überwachungsmittel 402 stelltdie Applikationsschicht 4 wieder her, falls diese abstürzt. Das Überwachungsmittel 402 kannmittels einer Benutzeroberflächenprogrammierspracheund dergleichen verwirklicht werden.
[0041] Wie in 4 gezeigt,kann das Überwachungsmittel 402 basierendauf einer von dem Logikhandler 222 ausgegebenen Absturzmeldungdie Applikationsschicht 4 wiederherstellen. Eine spezielle Anwendungoder dergleichen kann verwendet werden, um das Überwachungsmittel 402 zuverwirklichen. Ein Absturz der Applikationsschicht 4 wirdgemeldet, wenn der Logikhandler 222 nicht in der Lage ist,ein Objekt nach einem Aktualisieren wiederherzustellen.
[0042] Eine Aufgabe der vorliegenden Erfindungist es, eine mehrschichtige Anwendungsarchitektur zu schaffen, dierasch auf Objekte zugreift und eine Betriebssicherungsfunktion gegeneinen Absturz der Applikationsschicht aufweist. Eine Grundstrukturvermittelt zwischen einer Anwendung und einer Applikationsschichtund erlaubt der Applikationsschicht, ein durch die Anwendung auseinem Cache-Speicher abgeholtes Objekt auszuführen. Wenn ein Objekt veraltet,aktualisiert die Grundstruktur innerhalb einer beschränkten Anzahlvon Versuchen wiederholt das Objekt. Wenn die Aktualisierung gelingt,gibt die Grundstruktur das Objekt an den Cache-Speicher zurück und erlaubtder Applikationsschicht wieder, das Objekt auszuführen. Wenndie Aktualisierung nicht innerhalb der spezifizierten Anzahl vonVersuchen gelingt, beendet die Grundstruktur die Anwendung in einembetriebssicheren Zustand.
[0043] Viele vielfältig unterschiedliche Ausführungsbeispieleder Erfindung könnenkonstruiert werden, ohne von dem Schutzumfang und dem Ziel der vorliegendenErfindung abzuweichen. Es ist selbstverständlich dass die vorliegendeErfindung nicht durch die speziellen in der Beschreibung be schriebenen Ausführungsbeispiele,sondern nur durch ihre Definition in den beigefügten Patentansprüchen beschränkt ist.
权利要求:
Claims (7)
[1] Mehrschichtige Anwendungsarchitektur mit einerApplikationsschicht, aufweisend: eine Grundstruktur, die dazudient, zwischen einer Anwendung und einer Applikationsschicht zuvermitteln, wobei die Grundstruktur es einer Applikationsschichterlaubt, ein durch eine Anwendung aus einem Cache-Speicher geholtesObjekt auszuführen; wobeidie Grundstruktur, wenn ein Objekt veraltet, das Objekt innerhalbeiner beschränktenAnzahl von Versuchen wiederholt aktualisiert; wobei die Grundstruktur,wenn eine Aktualisierung eines Objekts gelingt, das Objekt an denCache-Speicher zurückgibtund der Applikationsschicht wieder erlaubt, das Objekt auszuführen; und wobeidie Grundstruktur eine Anwendung betriebssicher beendet, wenn dieAktualisierung eines Objekts innerhalb einer beschränkten Anzahlvon Versuchen nicht erfolgreich war.
[2] Mehrschichtige Anwendungsarchitektur nach Anspruch1, bei der ein Benutzer die beschränkte Anzahl von Versuchen spezifizierenkann.
[3] Mehrschichtige Anwendungsarchitektur nach Anspruch2, wobei ein Benutzer ein Zeitintervall zwischen den erneuten Versuchenspezifizieren kann.
[4] Mehrschichtige Anwendungsarchitektur nach Anspruch1, wobei die Grundstruktur ihre Arbeitsschritte für einenBenutzer sichtbar anzeigen lässt.
[5] Mehrschichtige Anwendungsarchitektur nach Anspruch1, zu der ferner gehört:ein Überwachungsmittel,das dazu dient, den normalen Betrieb wiederaufzunehmen, wenn dieApplikationsschicht abstürzt.
[6] Mehrschichtige Anwendungsarchitektur nach Anspruch5, wobei das Überwachungsmitteleine Applikationsschicht basierend auf einem Ergebnis einer periodischenAbfrage wiederherstellt.
[7] Mehrschichtige Anwendungsarchitektur nach Anspruch5, wobei das Überwachungsmitteleine Applikationsschicht basierend auf einer von der Grundstrukturausgegebenen Meldung wiederherstellt.
类似技术:
公开号 | 公开日 | 专利标题
US10459908B2|2019-10-29|Multi-master data replication in a distributed multi-tenant system
US9241047B2|2016-01-19|System and method for providing virtual web access
US10289459B1|2019-05-14|System and method for event-driven live migration of multi-process applications
US20150081786A1|2015-03-19|Event notification
US8788565B2|2014-07-22|Dynamic and distributed queueing and processing system
US7584474B2|2009-09-01|Systems and methods for transaction chaining
US7571355B2|2009-08-04|Product support connected error reporting
CA2508317C|2012-07-24|Session-return enabling stateful web applications
RU2453911C2|2012-06-20|Автономное выполнение веб-приложений
JP5373770B2|2013-12-18|分散型、耐障害性、および高可用性を達成するための決定性コンピューティング・システム、方法、およびプログラム・ストレージ・デバイス(分散型、耐障害性、および高可用性のコンピューティング・システム)
US7082604B2|2006-07-25|Method and apparatus for breaking down computing tasks across a network of heterogeneous computer for parallel execution by utilizing autonomous mobile agents
US7761878B2|2010-07-20|System and method for stateful web-based computing
US7003570B2|2006-02-21|System for integrating java servlets with asynchronous messages
US8056007B2|2011-11-08|System and method for recognizing and storing information and associated context
US8087013B2|2011-12-27|Assisted migration in a data processing environment
US7337365B2|2008-02-26|Platform for computer process monitoring
US7689989B2|2010-03-30|Thread monitoring using shared memory
US10282259B1|2019-05-07|System and method for event-driven live migration of multi-process applications
Candea et al.2003|JAGR: An autonomous self-recovering application server
US6877111B2|2005-04-05|Method and apparatus for managing replicated and migration capable session state for a Java platform
WO2016183556A1|2016-11-17|Dynamic code loading
CA2696884C|2016-01-05|Replaying captured network interactions
Candea et al.2004|Microreboot--a technique for cheap recovery
JP4615096B2|2011-01-19|Method and apparatus for providing customizable security and logging protocols for a servlet engine
US6253204B1|2001-06-26|Restoring broken links utilizing a spider process
同族专利:
公开号 | 公开日
JP2004280527A|2004-10-07|
US20040216111A1|2004-10-28|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2011-01-20| 8139| Disposal/non-payment of the annual fee|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]